
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.HashSet;
import java.util.StringTokenizer;

class Demo {
    public static void main(String[] args) {
	BufferedReader reader = null;
	try {
	    reader = new BufferedReader(new FileReader(args[0]));
	    Map words = new HashMap();
	    String line = reader.readLine();
	    while (line != null) {
		StringTokenizer tokenizer = 
		    new StringTokenizer(line, " \t\n\r\f.,");
		while (tokenizer.hasMoreTokens()) {
		    String word = tokenizer.nextToken();
		    Integer count = (Integer)words.get(word);
		    if (count == null)
			words.put(word, new Integer(1));
		    else
			words.put(word, new Integer(count.intValue() + 1));
		}
		line = reader.readLine();
	    }
	    System.out.println(words);
	}
	catch (IOException e) {
	    System.out.println(e.getMessage());
	}
	finally  {
	    if (reader != null) {
		try { reader.close(); } catch (IOException e) {}
	    }
	}
    }
}
